\section{Plan de calidad}
\label{sec:2-5-Calidad}

Para definir el plan de calidad, hay que hablar de diferentes aspectos de la calidad. Por un lado la calidad del proyecto y por otro lado la calidad del producto que se quiere obtener. De igual manera, y haciendo una mención especial, también es interesante la calidad de los conocimientos adquiridos, especialmente en un proyecto innovador de investigación que se aborda por primera vez para el alumno. Por tanto subdividiremos el plan de calidad abordando estos tres ámbitos:

\subsection{Orientado al PFG}
En referencia al Proyecto Final de Grado se quieren obtener estos niveles de calidad:
\begin{itemize}
\item{Una planificación lo más afín y realista posible. A medida que se vayan realizando planificaciones semanales se han de estimar de mejor manera tanto las tareas cómo su duración. Métrica que se ha definido es la de contabilizar el número de tareas aplazadas. Para ello se crearán estadísticas con el gestor de tareas (Apartado \ref{sec:2-7-Access}).}
\item{Documentación descriptiva. La métrica que se ha decidido definir es que para cada termino complejo o no trivial existirá una explicación en el Anexo \ref{sec:A-Acronimos} referente a los acrónimos.}
%TODO definir anexo acronimos
\item{Documentación correctamente redactada. La métrica que se ha decidido definir es la de nº de lectores de la memoria que han conseguido comprender parte de la misma. Para ello se le ofrecerá la lectura a varias personas de este documento, con tal de que puedan valorar que está correctamente redactada y que los términos son fácilmente comprensibles.}
\item{Presentación descriptiva y sencilla de seguir. La métrica definida es número de ejemplos utilizados para describir términos o casos complejos.}
\end{itemize}

\subsection{Orientado al desarrollo de WebMakeUp}

En el siguiente apartado se ha centrado en explicar las métricas asociadas al desarrollo de WebMakeUp, es decir, qué métricas definir para garantizar un desarrollo sencillo, útil, facilmente legible, etc.

\begin{itemize}
\item{Código fuente correctamente documentado: para ello se ha definido la métrica de cuantas funciones están correctamente documentadas. Si pueden estar definidas en JSDoc\footnote{JSDoc trata de emular a JavaDoc pero para aplicaciones en javascript: \url{http://usejsdoc.org/}}, mejor.}
\item{Código fuente sencillo: para ello se ha definido la métrica de cuantas líneas de media tiene cada función javascript del código programado.}
\item{Rendimiento de la aplicación: para ello se ha definido la métrica de tiempo en ejecutar un caso de uso concreto.}
\item{Código fuente que permita un desarrollo más ágil: la métrica utilizada es cuantas de las clases o partes del código programado tiene un patrón de diseño (observer, singleton, facade,...) o una arquitectura adecuada (ya sea MVC, MV, arquitectura en 3 niveles, etc.)}
\item{Cumplimiento con estándares de ECMAScript 5. La métrica utilizada es en el código javascript cuantas funciones inician con \emph{``use strict``;}.Esto se encarga de evitar ciertos tipos de errores. En la Figura \ref{fig:2-UseStrict}} se puede observar una función con \emph{``use strict``;}.
\item{Programación orientada a seguir un proceso igual en todos las funciones. Para ello el editor utilizado WebStorm (Apartado \ref{sec:3-2-WebStorm}) dispone de un corrector de código que intenta mejorar ciertos aspectos. En este caso las métricas son cuantas variables se inicializan y cuantas no (dado que en javascript no es obligatorio inicializarlas, pero si recomendable) y bloques definidos (apertura y cierre de if, whiles, for etc. dado que en javascript los bloques de una línea no lo requieren).}
\end{itemize}

\begin{figure}
\begin{center}
\includegraphics[width=0.95\textwidth]{figs/2-UseStrict.png}
\end{center}
\caption{Función javascript que cumple con el estandar ECMAScript 5}
\label{fig:2-UseStrict}
\end{figure}

\subsection{Orientado a adquirir conocimientos}

En este último apartado referente a la calidad, se ha tratado de definir métricas de qué cosas hay que tener en cuenta para que los conocimientos que se adquieren son adecuados e interesantes para el desarrollo tanto personal como profesional dentro y fuera del proyecto:

\begin{itemize}
\item{Aplicabilidad de los conocimientos adquiridos: Número de artículos leídos donde se comprenda su contexto, significado y se pueda utilizar en el proyecto WebMakeUp.}
\item{Aprendizaje autónomo sobre herramientas y tecnologías no utilizadas previamente. La métrica utilizada es la de búsqueda de mejora de técnicas de trabajo y su aplicación con exito dentro del proyecto. Algunos ejemplos pueden ser: uso de control de versiones, uso tecnologías de documentación como Wikis, \LaTeX{},...}
\end{itemize}
